#ifndef DATAVALIDATOR_H
#define DATAVALIDATOR_H

#include "CSVParser.h"
#include <unordered_set>
#include <string>
#include <vector>

class DataValidator {
public:
    DataValidator(CSVParser& standardParser, CSVParser& testParser);

    void validateData();

private:
    CSVParser& standardParser;
    CSVParser& testParser;

    std::unordered_set<std::string> getUniqueStudentIDs(CSVParser& parser);
    bool validateStudent(const std::vector<std::string>& standardRow, const std::vector<std::string>& testRow);
    void printError(const std::string& errorMessage, const std::vector<std::string>& testRow);
};

#endif // DATAVALIDATOR_H